Outline of computer science
The following outline is provided as an overview of and topical guide to computer science:
Computer science (also called computing science) – study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.
Mathematical foundations
Algorithms and data structures
- Algorithms – Sequential and parallel computational procedures for solving a wide range of problems.
- Data structures – The organization and manipulation of data.
Artificial intelligence
Collaborative Networks
- Virtual Organization – Including virtual enterprises, extended enterprises.
- VO Breeding Environment – Including industry clusters, industrial districts, digital business ecosystems.
- Professional virtual community – Including virtual teams, social networks.
Communications and Security
Computer architecture
- Computer architecture – The design, organization, optimization and verification of a computer system, mostly about CPUs and Memory subsystem (and the bus connecting them).
- Operating systems – Systems for managing computer programs and providing the basis of a usable system.
Computer graphics
- Computer graphics – Algorithms both for generating visual images synthetically, and for integrating or altering visual and spatial information sampled from the real world.
- Image processing – Determining information from an image through computation.
- Human computer interaction – The study and design of computer interfaces that people use.
Concurrent, parallel, and distributed systems
- Concurrency – The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
- Parallel computing – Computing using multiple concurrent threads of execution, devising algorithms for solving problems on multiple processors to achieve maximal speed-up compared to sequential execution.
- Distributed computing – Computing using multiple computing devices over a network to accomplish a common objective or task and thereby reducing the latency involved in single processor contributions for any task.
Databases
Programming languages and compilers
Scientific computing
Software engineering
- Formal methods – Mathematical approaches for describing and reasoning about software designs.
- Software engineering – The principles and practice of designing, developing, and testing programs, as well as proper engineering practices.
- Reverse engineering – The application of the scientific method to the understanding of arbitrary existing software
- Algorithm design – Using ideas from algorithm theory to creatively design solutions to real tasks
- Computer programming – The practice of using a programming language to implement algorithms
Theory of computation
History
Vocations
Basic concepts
Data and data structures
Other
Programming paradigms
Object oriented programming
Other
See also
External links
- Webcasts
Outlines
|
|
- General reference
- Culture and the arts
- Geography and places
- Health and fitness
- History and events
- Mathematics and logic
- Natural and physical sciences
- People and self
- Philosophy and thinking
- Religion and belief systems
- Society and social sciences
- Technology and applied sciences
|
|